package chapter02

object Test02_Function1 {
  def main(args: Array[String]): Unit = {
    //如果最后一个语句是返回值 可以省略return
    def f1(): String = {
      "你好"
    }
    //如果函数体内只有一个语句 可以省略大括号
    def f2():String = "你好"
    //如果返回类型可以推断 返回类型可以不写
    def f3() = "你好"
    //如果参数列表为空 则可以省略参数列表的小括号
    def f4 = "你好"
    //调用的时候不能使用小括号
    val f = f4
    println(f)
    //如果有明确声明的return 返回值类型不能省略
    def f5():String={
      return "你好"
    }
    //如果指定了返回值类型为Unit 那么有返回值也不会起作用
    def f6():Unit={
      return "你好"
    }
    println(f6())
    //如果返回值为Unit 又想省略=号，那么unit一起省略
    def f7(){
      return "你好"
    }
    println(f7())
    //如果省略函数名 和关键字一起省略 匿名函数
    val unit = () => {
      println("你好")
    }
    unit()

  }
}
